﻿namespace Homework3_2
{
    internal class Program
    {
        static void Main(string[] args)
        {
            //指定文件路径
            string filePath = "D:\\CSharp2024\\students_data.txt";

            //检察文件是否存在
            if (!File.Exists(filePath))
            {
                Console.WriteLine("文件不存在，请先生成学生数据文件。");
                return;
            }

            // 初始化变量用于计算总和和计数
            double totalAge = 0;
            double totalHeight = 0;
            int maleCount = 0;
            int femaleCount = 0;
            int studentCount = 0;

            try
            {
                // 使用 StreamReader 读取文件
                using (StreamReader reader = new StreamReader(filePath))
                {
                    string line;
                    // 逐行读取文件内容
                    while ((line = reader.ReadLine()) != null)
                    {
                        // 分割每一行的数据
                        string[] data = line.Split(',');

                        // 确保数据行有4个元素
                        if (data.Length == 4)
                        {
                            // 解析年龄和身高
                            int age = int.Parse(data[1]);
                            double height = double.Parse(data[2]);
                            string gender = data[3];

                            // 累加年龄和身高
                            totalAge += age;
                            totalHeight += height;

                            // 统计性别数量
                            if (gender == "Male")
                            {
                                maleCount++;
                            }
                            else if (gender == "Female")
                            {
                                femaleCount++;
                            }

                            // 增加学生计数
                            studentCount++;
                        }
                    }
                }

                //计算平均年龄和平均身高
                double averageAge = totalAge / studentCount;
                double averageHeight = totalHeight / studentCount;

                Console.WriteLine($"总学生人数: {studentCount}");
                Console.WriteLine($"平均年龄: {averageAge:F2} 岁");
                Console.WriteLine($"平均身高: {averageHeight:F2} 米");
                Console.WriteLine($"男生人数: {maleCount}");
                Console.WriteLine($"女生人数: {femaleCount}");
            }
            catch (Exception ex)
            {
                // 捕获并处理读取文件时的异常
                Console.WriteLine($"读取文件时发生错误: {ex.Message}");
            }
        }
    }
}

